﻿#ifndef UI_MAINFRAME_H
#define UI_MAINFRAME_H

#include <QtCore/QVariant>

class QVBoxLayout;
class QHBoxLayout;
class QStackedWidget;
class QToolButton;
class QPushButton;
class ImagePushButton;
class BigToolButton;
class QButtonGroup;
class NavButton;
class ShadowWidget;

QT_BEGIN_NAMESPACE

class Ui_MainWindow : public QObject
{
    Q_OBJECT

public:

    enum PAGE_NAME
    {
        PAGE_NAV1 = 0,
        PAGE_NAV2,
        PAGE_NAV3
    };

    QVBoxLayout *m_layout_root;
    QStackedWidget *m_page_container;

    ImagePushButton *m_sysbtn_close;
    ImagePushButton *m_sysbtn_max;
    ImagePushButton *m_sysbtn_min;
    ImagePushButton *m_sysbtn_restore;
    ImagePushButton *m_sysbtn_menu;

    QButtonGroup *m_navBar_buttons;

public:

    explicit Ui_MainWindow(QObject *parent = Q_NULLPTR);
    void setupUi(ShadowWidget *widget);

private:

    void createConnections();

private slots:

    void onMinBtnClicked();
    void onMaxBtnClicked();
    void onRestoreBtnClicked();
    void onCloseBtnClicked();

signals:
    void showMaximized();
    void showMinimized();
    void showNormal();
    void close();
};


namespace Ui
{
    class MainWindow : public Ui_MainWindow
    {
    public:
        MainWindow(QObject *parent = Q_NULLPTR) : Ui_MainWindow(parent)
        {

        }
    };
}

QT_END_NAMESPACE

#endif // UI_MAINFRAME_H
